package com.ihr360.payroll.service.payslip;

import com.ihr360.payroll.config.PayslipConfigEntity;
import com.ihr360.payroll.model.dto.salary.plan.config.PayslipConfig;
import com.ihr360.rest.service.SimpleRestService;

import java.util.List;

/**
 * @author tomtao
 */
public interface PayslipConfigService extends SimpleRestService<PayslipConfig, Long> {

    /**
     * 获取工资单配置list
     *
     * @param companyId
     * @return
     */
    List<PayslipConfigEntity> getList(String companyId);

    /**
     * 获取方案下的工资单列表
     *
     * @param salaryPlanId
     * @return
     */
    List<PayslipConfig> getListBySalaryPlanId(Long salaryPlanId);

    /**
     * 保存 or 更新
     *
     * @param payslipConfig
     * @param salaryPlanId
     * @return
     */
    PayslipConfig saveOrUpdate(PayslipConfig payslipConfig, Long salaryPlanId);

    /**
     * 删除
     *
     * @param salaryPlanId
     * @param payslipConfigId
     * @return
     */
    boolean deletePayslipConfig(Long salaryPlanId, Long payslipConfigId);


    /**
     * 校验姓名是否重复
     *
     * @param id
     * @param name
     * @return
     */
    boolean isDuplicateName(String name, Long id);

}
